home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Almathera Ten Pack 2: CDPD 1
/
Almathera Ten on Ten - Disc 2: CDPD 1.iso
/
pd
/
376-400
/
399
/
prettywindows
/
pwdemo.c
< prev
next >
Wrap
C/C++ Source or Header
|
1995-03-14
|
3KB
|
182 lines
#include <exec/types.h>
#include <exec/exec.h>
#include <intuition/intuition.h>
#include <graphics/gfxbase.h>
#include <graphics/gfx.h>
#include <graphics/gfxmacros.h>
/********************************************
* PrettyWindows v1.0 by Thom Robertson *
********************************************/
extern struct IntuitionBase *IntuitionBase;
extern struct GfxBase *GfxBase;
main() {
struct Window *win1,*win2,*win3;
int i;
char text[7][50] = {
{"This demo shows the usage of"},
{"PrettyWindows V1.0 by Thom Robertson"},
{"PrettyWindows is a set of 3 routines"},
{"which liven up your text windows."},
{"PrettyWindows is freely redistributable"},
{"code, written in LATTICE C 5.04 ."},
{"Press a key or click on this window"},
};
win1 = 0;
win2 = 0;
win3 = 0;
IntuitionBase = 0;
GfxBase = 0;
IntuitionBase = (struct IntuitionBase *) OpenLibrary(
"intuition.library",0);
if (IntuitionBase == NULL) {
printf("intuition won't open!\n");
goto end;
}
GfxBase = (struct GfxBase *) OpenLibrary("graphics.library",0);
if (GfxBase == NULL) {
printf("graph.lib. won't open!\n");
goto end;
}
/* do first window */
win1 = makewindow(0,20,20,600,160);
if (win1 == NULL) {
printf("Window 1 won't open!\n");
goto end;
}
prettywindow1(win1,2);
SetDrMd(win1->RPort,JAM1);
SetAPen(win1->RPort,0);
Move(win1->RPort,100,50);
Text(win1->RPort,text[0],strlen(text[0]));
Move(win1->RPort,100,80);
Text(win1->RPort,text[1],strlen(text[1]));
SetAPen(win1->RPort,1);
Move(win1->RPort,100,130);
Text(win1->RPort,text[6],strlen(text[6]));
getinput(win1);
/* do second window */
win2 = makewindow(0,10,10,450,110);
if (win2 == NULL) {
printf("Window 2 won't open!\n");
goto end;
}
prettywindow2(win2,0);
SetDrMd(win2->RPort,JAM1);
SetAPen(win2->RPort,1);
Move(win2->RPort,40,45);
Text(win2->RPort,text[2],strlen(text[2]));
Move(win2->RPort,40,60);
Text(win2->RPort,text[3],strlen(text[3]));
SetAPen(win2->RPort,3);
Move(win2->RPort,40,85);
Text(win2->RPort,text[6],strlen(text[6]));
getinput(win2);
/* do third window */
win3 = makewindow(0,150,80,450,110);
if (win3 == NULL) {
printf("Window 3 won't open!\n");
goto end;
}
prettywindow3(win3,3);
SetDrMd(win3->RPort,JAM1);
SetAPen(win3->RPort,2);
Move(win3->RPort,40,45);
Text(win3->RPort,text[4],strlen(text[4]));
Move(win3->RPort,40,60);
Text(win3->RPort,text[5],strlen(text[5]));
SetAPen(win3->RPort,1);
Move(win3->RPort,40,85);
Text(win3->RPort,text[6],strlen(text[6]));
getinput(win3);
end:
if (win1 != 0)
CloseWindow(win1);
if (win2 != 0)
CloseWindow(win2);
if (win3 != 0)
CloseWindow(win3);
if (IntuitionBase != NULL)
CloseLibrary(IntuitionBase);
if (GfxBase != NULL)
CloseLibrary(GfxBase);
} /* end of program */
getinput(win)
struct Window *win;
{
struct IntuiMessage *mess;
ULONG mclass;
USHORT mcode,mqual;
APTR maddr;
LONG Mx,My;
while ((mess = GetMsg(win->UserPort))!= 0)
ReplyMsg(mess);
while (TRUE) {
Wait((1<<win->UserPort->mp_SigBit));
while ((mess = GetMsg(win->UserPort))!= 0) {
mclass = mess->Class;
mcode = mess->Code;
maddr = mess->IAddress;
mqual = mess->Qualifier;
Mx = mess->MouseX;
My = mess->MouseY;
ReplyMsg(mess);
if (mclass == RAWKEY || mclass == MOUSEBUTTONS)
return(0);
}
}
}